package framework.util;

import java.lang.reflect.Modifier;

/**
 * @author 马洁
 * @date 2020/3/12 - 22:13
 */
public class ClassReflectUtil {
    /**
     * 根据字符串反射获得类
     *
     * @param cls 需要获得的类
     * @return 类
     */
    public static Class<?> reflectGetClass(String cls) {
        try {
            return Class.forName(cls);
        } catch (ClassNotFoundException e) {
            System.out.println(cls.getClass().getName() + " 出问题了，找不到这个类：" + cls);
            e.printStackTrace();
        }

        return null;
    }

    public static boolean isNotInterfaceAndAbstract(Class<?> cls) {
        return !isInterfaceAndAbstract(cls);
    }


    public static boolean isInterfaceAndAbstract(Class<?> cls) {
        return cls.isInterface() && Modifier.isAbstract(cls.getModifiers());
    }
}
